Full-duplex operation is a promising way to increase throughput in wireless systems. In a full-duplex operation, a wireless network element is capable of transmitting and receiving data simultaneously. In the media access control (MAC) layer, full-duplex operation can be used to increase the efficiency of random access. However, if the links are asymmetrical, this efficiency may be lost due to transmitter-receiver deadlocks in the MAC layer. Links may be said to be asymmetrical if connectivity from node a to node b may differ significantly from that of from node b back to node a. For example, the amount of data transmitted in one direction, and consequently the time to deliver the data in that direction may be significantly more than the amount of data transmitted in the other direction and the time to deliver that data in the other direction.
MAC layer interactions often involve two-way communications between MAC peers. These interactions are used to ensure the protocol operates correctly (e.g., datagrams are not lost). Typically, timing restrictions are put on interactions to enable higher efficiency and eliminate errors due to channel (e.g., timeouts are used instead of negative acknowledgements (ACKs), or to detect lost frames from the interaction initiator). However, some MAC peers (e.g., wireless access points (APs)) communicate with more than one other MAC peer. Consequently, if full-duplex hardware is used, MAC layer restrictions may block the wireless system from fully taking advantage of the efficiencies provided by full-duplex operation.
FIG. 1 is a diagram of a wireless system 100 illustrating an example of full-duplex MAC layer deadlock. In this example, the station (STA) 102 is transmitting DATA1 to the AP 104. At the same time, the AP 104 is also transmitting DATA2 to another STA (not shown). The DATA2 transmission occupies the medium for a longer period of time than the DATA1 transmission. STA 102 has to wait for the acknowledgement (ACK1) message from the AP 104 before sending its next frame (DATA3). However, there may be a significant time between when the STA 102 finishes transmitting DATA1 and the time at which the AP 104 can transmit the ACK1 to STA 102 due to the AP 104 waiting to complete transmission of DATA2 to the other STA before sending the ACK1 to STA 102. The time period in which the STA 102 has to wait for the ACK1 from the AP 104 is wasted throughput.
FIG. 2 is a diagram of another wireless system 200 illustrating another example full-duplex MAC layer deadlock. In this example, the STA 202 sends an RTS2 (request) to the AP 204. However, at the same time that the AP 202 is receiving the RTS2 from the STA 202, the AP 204 is sending DATA1 to another STA (not shown). The STA 102 has to wait until the ongoing transmission DATA1 from the AP 204 to the other STA (not shown) is completed before it can receive the CTS2 (grant) from the AP 204. Again, throughput is wasted idling the channel waiting for the AP 204 to transmit the CTS2 to the STA 202. Thus, fairness may be lost if the other STA has longer transmission.
Thus, to make more efficient use of channel resources in full-duplex mode for MAC layer transmissions, a new MAC strategy is desirable.